package embuzzled.g5;

import java.awt.Color;

public class Constants 
{
	/* Special colors */
	//Represents a cell we haven't colored in yet.
	public static final Color COLOR_CLEAR = new Color(1,2,3);
	//Represents a cell pre-marked as an obstacle we cannot color.
	public static final Color COLOR_OBSTACLE = Color.DARK_GRAY;
	
	/* Strategies to color in a composite puzzle. */
	//Choose one color from the list of possible colors. 
	//Color in all components.
	public static final int COLORING_MONOCOLOR = 0;
	//Assign the (i % numColors)th color to the ith component.
	public static final int COLORING_ROTATE = 1;
	//Assign each component a random color.
	public static final int COLORING_RANDOM = 2;
	//Do not change the color. Assume it's been colored already.
	public static final int COLORING_DO_NOT_COLOR = 3;
	//Color in randomly without repeating colors
	public static final int COLORING_RANDOM_NO_REPEAT = 4;
	
	/* Strategies to place each component of a composite puzzle. */
	public static final int PLACEMENT_HORIZONTAL = 0;
	public static final int PLACEMENT_HORIZONTAL_BACKWARDS = 1;
	public static final int PLACEMENT_VERTICAL_DOWN = 2;
	public static final int PLACEMENT_VERTICAL_UP = 3;
	public static final int PLACEMENT_DIAGONAL_UP_RIGHT = 4;
	public static final int PLACEMENT_DIAGONAL_DOWN_RIGHT = 5;
	public static final int PLACEMENT_DIAGONAL_DOWN_LEFT = 6;
	public static final int PLACEMENT_DIAGONAL_UP_LEFT = 7;
	public static final int PLACEMENT_CORNERS = 8;
	public static final int PLACEMENT_ANYWHERE = 9;
	
	// Color selection array
	// TODO - Unify puzzle and bg colors in one place
	public static final Color[] ColorSelection = {
		new Color(124,124,124),	// gray
		new Color(0,0,252),		// blue
		new Color(0,0,188),		// navy
		new Color(68,40,188),	// purple
		new Color(148,0,132),	// plum
		new Color(168,0,32),	// red
		new Color(136,20,0),	// burgundy
		new Color(80,48,0),		// brown
		new Color(0,120,0),		// green
		new Color(0,88,0),		// dark green
		new Color(0,64,88),		// teal
		new Color(188,188,188),	// light gray
		new Color(0,120,248),	// light blue
		new Color(0,88,248),	// slightly darker light blue
		new Color(104,68,252),	// light purple
		new Color(216,0,204),	// hot pink
		new Color(228,0,88),	// bright red
		new Color(248,56,0),	// bright orange
		new Color(228,92,16),	// dull orange
		new Color(172,124,0),	// olive
		new Color(0,184,0),		// green
		new Color(0,136,136),	// light teal
		new Color(60,188,252),	// sky blue
		new Color(104,136,252),	// purplish blue
		new Color(152,120,248),	// lightest purple
		new Color(248,120,248),	// pink
		new Color(248,88,152),	// rose
		new Color(248,120,88),	// peach
		new Color(252,160,68),	// golden orange
		new Color(248,184,0),	// golden yellow
		new Color(184,248,24),	// green-yellow
		new Color(88,248,152),	// mint
		new Color(0,232,216),	// electric blue
		new Color(252,252,252),	// white
		new Color(164,228,252),	// baby blue
		new Color(184,184,248),	// pastel purple
		new Color(216,184,248),	// pastel purplish pink
		new Color(248,184,248),	// baby pink
		new Color(248,164,192),	// dirty pink
		new Color(240,208,176), // beige
		new Color(252,224,168), // yellow-ish beige
		new Color(248,216,120), // light yellow
		new Color(255,255,0),	// bright yellow
		new Color(216,248,120), // yellow-green
		new Color(184,248,184), // pastel green
		new Color(0,252,252),	// brighter electric blue
		new Color(216,216,216), // really light gray
		new Color(0,0,0),		// black
	};
	
}
